﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BusinessLevel
{
    public class Person
    {
        private string firstName;
        private string middleName;
        private string secondname;
        private int age;
        //List<int>-типо массив;
        private List<int> scores;
        //создаём конструктор;
        public Person(string _FirstName, string _middleName, string _secondName)
        { //this.firstName - присваиваем введённое с консоли значение полю firstName;
            // . - обращаемся к полю;
            this.firstName = _FirstName;
            this.middleName = _middleName;
            this.secondname = _secondName;
        }

        //метод, сочетающий фамилию с инициалами;
        public string FullName()
        {
            return this.secondname + " " + this.firstName.Substring(0, 1) + ". " + this.middleName.Substring(0, 1) + ".";
        }
        public virtual double CalculateScores(List<int> scores)//(virtual - метод,переопределяемый в потомках)
        {
            int sum = 0;
            foreach (int item in scores)//foreach - для перечисления,при этом тип должен перечислимым
            {
                sum += item;
            }

            double result = 0;
            try
            {
                result = sum / scores.Count;
            }

            catch (DivideByZeroException ex)
            { 
            
            }
            return result;//sum / scores.Count-операция деления
        }

        //создаем некоторое свойство
        public int Age//инкапсуляция
        {
            get { return age; }
            set
            {
                if (value >= 10 && value <= 90)
                {
                    age = value;
                }
            }
        }
    }
}
